package com.virtualperson.service;

import com.virtualperson.dto.ChatRequest;
import com.virtualperson.dto.ChatResponse;
import com.virtualperson.config.AliyunConfig;

public interface AliyunAIService {
    /**
     * AI聊天（同步模式）
     * @param request 聊天请求
     * @return 聊天响应
     */
    ChatResponse chat(ChatRequest request);
    
    /**
     * AI流式聊天（异步模式）
     * @param request 聊天请求
     * @param callback 流式回调
     */
    void chatStream(ChatRequest request, StreamCallback callback);
    
    /**
     * 简单AI聊天
     * @param prompt 用户输入
     * @return 聊天响应
     */
    ChatResponse simpleChat(String prompt);
    
    /**
     * 获取阿里云配置
     * @return 阿里云配置
     */
    AliyunConfig getAliyunConfig();
    
    /**
     * 流式回调接口
     */
    interface StreamCallback {
        /**
         * 收到文本片段
         * @param text 文本内容
         */
        void onText(String text);
        
        /**
         * 完成回复
         * @param fullText 完整回复内容
         */
        void onComplete(String fullText);
        
        /**
         * 发生错误
         * @param error 错误信息
         */
        void onError(String error);
    }
} 